home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 October: Mac OS SDK / Dev.CD Oct 96 SDK / Dev.CD Oct 96 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODFDev / Draw / Sources / DrawView.h < prev    next >
Encoding:
Text File  |  1996-08-16  |  2.9 KB  |  97 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                DrawView.h
  4. //    Release Version:    $ ODF 1 $
  5. //
  6. //    Author:                Laurent Delamare
  7. //
  8. //    Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  9. //
  10. //========================================================================================
  11.  
  12. #ifndef DRAWVIEW_H
  13. #define DRAWVIEW_H
  14.  
  15. // ----- Part Layer -----
  16.  
  17. #ifndef FWSVIEW_H
  18. #include "FWSView.h"
  19. #endif
  20.  
  21. //========================================================================================
  22. // Forward Declaration
  23. //========================================================================================
  24.  
  25. class FW_CGraphicContext;
  26. class CDrawPart;
  27. class CDrawFrame;
  28. class CDrawSelection;
  29. class CDrawPartContent;
  30.  
  31. //========================================================================================
  32. // Class CDrawView
  33. //========================================================================================
  34.  
  35. class CDrawView : public FW_CSuperView
  36. {
  37. public:
  38.     FW_DECLARE_CLASS
  39.  
  40. //----------------------------------------------------------------------------------------
  41. // Initialization/destruction
  42. //
  43. public:        
  44.     CDrawView(Environment *ev, 
  45.                 CDrawFrame* frame, 
  46.                 FW_CRect& bounds, 
  47.                 FW_CPoint& extent,
  48.                 CDrawPart* drawPart);
  49.     virtual ~ CDrawView();
  50.  
  51. private:
  52.     CDrawView(Environment *ev);
  53.  
  54. //----------------------------------------------------------------------------------------
  55. // Inherited API
  56. //
  57. public:        
  58.     // ----- Cursor Adjustement
  59.     virtual FW_Boolean        AdjustCursor(Environment *ev, ODFacet* facet, const FW_CPoint& where);
  60.     
  61.     // ----- Layout
  62.     virtual void            SizeChanged(Environment* ev, const FW_CPoint& oldSize);
  63.     virtual void             AdjustToNewLayout(Environment *ev, const FW_CPoint& oldExtent, 
  64.                                                 const FW_CPoint& newExtent, FW_Boolean refresh);
  65.  
  66.     // ----- Drawing
  67.     virtual void             Draw(Environment *ev, ODFacet* odFacet, ODShape* invalidShape);
  68.  
  69.     // ----- Events -----
  70.     virtual FW_Boolean        DoMouseDown(Environment *ev, const FW_CMouseEvent& theMouseEvent);
  71.     virtual FW_Boolean        DoVirtualKey(Environment* ev, const FW_CVirtualKeyEvent& theVirtualKeyEvent);
  72.  
  73.     virtual FW_Boolean        WantsToBeTarget(Environment* ev);
  74.  
  75.     // ----- Archiving -----
  76.     static void*            Create(FW_CReadableStream& stream, FW_ClassTypeConstant type);
  77.     static void                Destroy(void* object, FW_ClassTypeConstant type);
  78.     virtual void            Flatten(Environment* ev, FW_CWritableStream& stream) const;
  79.     virtual void            InitializeFromStream(Environment* ev, FW_CReadableStream& stream);
  80.     
  81. //----------------------------------------------------------------------------------------
  82. //    New API
  83. //
  84. protected:
  85.     void                    DrawGrid(Environment *ev, FW_CGraphicContext& gc, const FW_CRect& invalidRect);    
  86.  
  87. //----------------------------------------------------------------------------------------
  88. // Data Members
  89. //
  90. private:    
  91.     CDrawPart*                fDrawPart;
  92.     CDrawPartContent*        fDrawPartContent;
  93.     CDrawFrame*                fDrawFrame;
  94. };
  95.  
  96. #endif
  97.